18 research outputs found

    Decentralized trust in the inter-domain routing infrastructure

    Get PDF
    Inter-domain routing security is of critical importance to the Internet since it prevents unwanted traffic redirections. The current system is based on a Public Key Infrastructure (PKI), a centralized repository of digital certificates. However, the inherent centralization of such design creates tensions between its participants and hinders its deployment. In addition, some technical drawbacks of PKIs delay widespread adoption. In this paper we present IPchain, a blockchain to store the allocations and delegations of IP addresses. IPchain leverages blockchains' properties to decentralize trust among its participants, with the final goal of providing flexible trust models that adapt better to the ever-changing geopolitical landscape. Moreover, we argue that Proof of Stake is a suitable consensus algorithm for IPchain due to the unique incentive structure of this use-case, and that blockchains offer relevant technical advantages when compared to existing systems, such as simplified management. In order to show its feasibility and suitability, we have implemented and evaluated IPchain's performance and scalability storing around 350k IP prefixes in a 2.5 GB chain.Peer ReviewedPostprint (published version

    A control plane for WireGuard

    Get PDF
    WireGuard is a VPN protocol that has gained significant interest recently. Its main advantages are: (i) simple configuration (via pre-shared SSH-like public keys), (ii) mobility support, (iii) reduced codebase to ease auditing, and (iv) Linux kernel implementation that yields high performance. However, WireGuard (intentionally) lacks a control plane. This means that each peer in a WireGuard network has to be manually configured with the other peers’ public key and IP addresses, or by other means. In this paper we present an architecture based on a centralized server to automatically distribute this information. In a nutshell, first we manually establish a WireGuard tunnel to the centralized server, and ask all the peers to store their public keys and IP addresses in it. Then, WireGuard peers use this secure channel to retrieve on-demand the information for the peers they want to communicate to. Our design strives to: (i) offer a key distribution scheme simpler than PKI-based ones, (ii) limit the number of public keys sent to the peers, and (iii) reduce tunnel establishment latency by means of an UDP-based protocol. We argue that such automation can help the deployment in enterprise or ISP scenarios. We also describe in detail our implementation and analyze several performance metrics. Finally, we discuss possible improvements regarding several shortcomings we found during implementation.This work was partially supported by the Spanish MINECO under contract TEC2017-90034-C2-1-R (ALLIANCE) and the Catalan Institution for Research and Advanced Studies (ICREA).Peer ReviewedPostprint (author's final draft

    Wide area network autoscaling for cloud applications

    Get PDF
    Modern cloud orchestrators like Kubernetes provide a versatile and robust way to host applications at scale. One of their key features is autoscaling, which automatically adjusts cloud resources (compute, memory, storage) in order to adapt to the demands of applications. However, the scope of cloud autoscaling is limited to the datacenter hosting the cloud and it doesn't apply uniformly to the allocation of network resources. In I/O-constrained or data-in-motion use cases this can lead to severe performance degradation for the application. For example, when the load on a cloud service increases and the Wide Area Network (WAN) connecting the datacenter to the Internet becomes saturated, the application flows experience an increase in delay and loss. In many cases this is dealt with overprovisioning network capacity, which introduces additional costs and inefficiencies. On the other hand, thanks to the concept of "Network as Code", the WAN exposes a set of APIs that can be used to dynamically allocate and de-allocate capacity on-demand. In this paper we propose extending the concept of cloud autoscaling into the network to address this limitation. This way, applications running in the cloud can communicate their networking requirements, like bandwidth or traffic profile, to a Software-Defined Networking (SDN) controller or Network as a Service (NaaS) platform. Moreover, we aim to define the concepts of vertical and horizontal autoscaling applied to networking. We present a prototype that automatically allocates bandwidth to the underlay network, according to the requirements of the applications hosted in Kubernetes. Finally, we discuss open research challenges.This work was supported by the Spanish MINECO under contract TEC2017-90034-C2-1-R (ALLIANCE), the Catalan Institution for Research and Advanced Studies (ICREA).Peer ReviewedPostprint (author's final draft

    Building a Digital Twin for network optimization using graph neural networks

    Get PDF
    Network modeling is a critical component of Quality of Service (QoS) optimization. Current networks implement Service Level Agreements (SLA) by careful configuration of both routing and queue scheduling policies. However, existing modeling techniques are not able to produce accurate estimates of relevant SLA metrics, such as delay or jitter, in networks with complex QoS-aware queueing policies (e.g., strict priority, Weighted Fair Queueing, Deficit Round Robin). Recently, Graph Neural Networks (GNNs) have become a powerful tool to model networks since they are specifically designed to work with graph-structured data. In this paper, we propose a GNN-based network model able to understand the complex relationship between the queueing policy (scheduling algorithm and queue sizes), the network topology, the routing configuration, and the input traffic matrix. We call our model TwinNet, a Digital Twin that can accurately estimate relevant SLA metrics for network optimization. TwinNet can generalize to its input parameters, operating successfully in topologies, routing, and queueing configurations never seen during training. We evaluate TwinNet over a wide variety of scenarios with synthetic traffic and validate it with real traffic traces. Our results show that TwinNet can provide accurate estimates of end-to-end path delays in 106 unseen real-world topologies, under different queuing configurations with a Mean Absolute Percentage Error (MAPE) of 3.8%, as well as a MAPE of 6.3% error when evaluated with a real testbed. We also showcase the potential of the proposed model for SLA-driven network optimization and what-if analysis.This publication is part of the Spanish I+D+i project TRAINER-A (ref.PID2020-118011GB-C21), funded by MCIN/ AEI/, Spain10.13039/501100011033. This work is also partially funded by the Catalan Institution for Research and Advanced Studies (ICREA), Spain and the Secretariat for Universities and Research of the Ministry of Business and Knowledge of the Government of Catalonia, Spain and the European Social Fund.Peer ReviewedPostprint (published version

    Programmable overlays via OpenOverlayRouter

    Get PDF
    Among the different options to instantiate overlays, the Locator/ID Separation Protocol (LISP) [7] has gained significant traction among industry and academia [5], [6], [8]–[11], [14], [15]. Interestingly, LISP offers a standard, inter-domain, and dynamic overlay that enables low capital expenditure (CAPEX) innovation at the network layer [8]. LISP follows a map-and-encap approach where overlay identifiers are mapped to underlay locators. Overlay traffic is encapsulated into locator-based packets and routed through the underlay. LISP leverages a public database to store overlay-to-underlay mappings and on a pull mechanism to retrieve those mappings on demand from the data plane. Therefore, LISP effectively decouples the control and data planes, since control plane policies are pushed to the database rather than to the data plane. Forwarding elements reflect control policies on the data plane by pulling them from the database. In that sense, LISP can be used as an SDN southbound protocol to enable programmable overlay networks [5].Peer ReviewedPostprint (published version

    Results and achievements of the ALLIANCE Project: New network solutions for 5G and beyond

    Get PDF
    Leaving the current 4th generation of mobile communications behind, 5G will represent a disruptive paradigm shift integrating 5G Radio Access Networks (RANs), ultra-high-capacity access/metro/core optical networks, and intra-datacentre (DC) network and computational resources into a single converged 5G network infrastructure. The present paper overviews the main achievements obtained in the ALLIANCE project. This project ambitiously aims at architecting a converged 5G-enabled network infrastructure satisfying those needs to effectively realise the envisioned upcoming Digital Society. In particular, we present two networking solutions for 5G and beyond 5G (B5G), such as Software Defined Networking/Network Function Virtualisation (SDN/NFV) on top of an ultra-high-capacity spatially and spectrally flexible all-optical network infrastructure, and the clean-slate Recursive Inter-Network Architecture (RINA) over packet networks, including access, metro, core and DC segments. The common umbrella of all these solutions is the Knowledge-Defined Networking (KDN)-based orchestration layer which, by implementing Artificial Intelligence (AI) techniques, enables an optimal end-to-end service provisioning. Finally, the cross-layer manager of the ALLIANCE architecture includes two novel elements, namely the monitoring element providing network and user data in real time to the KDN, and the blockchain-based trust element in charge of exchanging reliable and confident information with external domains.This work has been partially funded by the Spanish Ministry of Economy and Competitiveness under contract FEDER TEC2017-90034-C2 (ALLIANCE project) and by the Generalitat de Catalunya under contract 2017SGR-1037 and 2017SGR-605.Peer ReviewedPostprint (published version

    Next generation overlay networks : security, trust, and deployment challenges

    Get PDF
    Overlay networks are a technique to build a new network on top of an existing one. They are a key tool to add functionality to existing networks, and are used in different layers of the Internet stack for a wide variety of purposes, like confidentiality, Quality of Service, virtual networking, etc. Specifically, network overlays in the IP networking layer are widely used in some of these use cases. However, these kind of overlay networks do not have as many functionalities as overlays in other layers. For example, thanks to the Zero Trust Networking paradigm it is possible to build secure overlay networks at L7 using HTTPS. Taking this into account, this thesis strives to add new features and improve on others of IP overlay networks, in order to support emerging challenges. This thesis focuses on three axes: security, trust, and deployment in enterprise scenarios. First, regarding security, we explore how to simplify the setup of secure tunnels over the Internet, without relying on external Public Key Infrastructure or proprietary solutions. To this purpose, we leverage WireGuard, a state of the art VPN protocol, and add a control plane on top of it to distribute encryption keys. In addition, we present the implementation of a prototype and a performance evaluation. Second, with respect to trust, we investigate how emerging blockchain technology can be used in distributed mapping systems. Mapping systems are a database used in some overlay network deployments to assist in the creation of tunnels, by storing overlay to underlay pairs of addresses. Mapping systems are not commonly used in scenarios with multiple administrative domains, due to configuration complexity and centralized control. We explore how some of the properties of blockchains, such as distributed control, or auditability, can help in building these type of mapping systems. We take into account both the policy aspects, that is, the advantages of a distributed trust scheme, and the technical ones, like simplified management. In addition, we present two deployment scenarios: one to increase the security of BGP-based inter-domain routing, and a set of cooperating companies that want to establish communications among themselves. Finally, we focus on the deployment of enterprise networks leveraging overlay networks. First, we discuss the challenges present in current enterprise networks, such as segmentation, mobility, or simplified operations. Then, we present a design based on overlay networks and SDN principles to address them, along with an evaluation of two real-life deployments. We conclude with a design tailored for future enterprise networks, based also on overlay networks and a layered approach. This solution aims to provide mobility, multi-homing, confidentiality, user and application identity, and access control policies for enterprise endpoints connected from any network, either in the campus or outside.Les xarxes superposades o overlays són una tècnica per a construir una xarxa sobre una d'existent. Són una eina fonamental per a afegir funcionalitat a xarxes ja existents, i es fan servir en diferents capes de la pila de protocols d’Internet per a diferents objectius, com ara confidencialitat, Qualitat de Servei, virtualització de xarxes, etc. Específicament, les xarxes superposades a la capa de xarxa IP es fan servir àmpliament per alguns d’aquest casos d’ús. No obstant, aquest tipus de xarxes superposades no tenen tanta funcionalitat com overlays en altres capes. Per exemple, gràcies al paradigma Zero Trust és possible construir xarxes superposades segures a la capa 7 amb HTTPS. Tenint això en compte, aquesta tesi vol afegir noves funcionalitats i millorar-ne d’altres en xarxes IP superposades, amb l’objectiu d’afrontar nous reptes. Aquesta tesi es centra en tres eixos: seguretat, confiança i desplegament en escenaris de xarxes empresarials. En primer lloc, pel que fa a seguretat, explorem com simplificar la configuració de túnels segurs a través d’Internet, sense dependre duna infraestructura de clau pública externa o de solucions propietàries. Per a aquest objectiu, utilitzem WireGuard, un protocol VPN d’última generació i li afegim un pla de control per a distribuir les claus d’encriptació. A més, presentem la implementació d’un prototip i una avaluació del seu rendiment. En segon lloc, respecte la confiança, investiguem com les tecnologies emergents basades en cadenes de blocs (blockchain) es poden fer servir en sistemes de mapatge distribuïts. Els sistemes de mapatge són una base de dades que es fa servir en alguns desplegaments de xarxes superposades per a ajudar en la creació dels túnels; normalment guarden parelles d’adreces que tradueixen l’adreça de la xarxa superposada a la de la xarxa de sota. Els sistemes de mapatge no es solen utilitzar en escenaris amb múltiples dominis administratius, degut a la complexitat de la configuració i a la centralització del seu control. En aquesta part explorem com algunes de les propietats de les cadenes de blocs, com el control distribuït o l’auditabilitat poden ajudar a construir aquests tipus de sistemes de mapatge. Tenim en compte tant els aspectes polítics, és a dir, els avantatges d’un esquema de confiança distribuït, com tècnics, per exemple, una gestió més simple. A més, presentem dos escenaris de desplegament: un per a incrementar la seguretat de l'enrutament basat en BGP entre diferents dominis, i un altre d’un conjunt d’empreses que cooperen per a establir comunicacions entre elles. Finalment, ens centrem en el desplegament de xarxes per a empreses fent servir xarxes superposades. En primer lloc, detallem els reptes que hi ha actualment a les xarxes per a empreses, per exemple, segmentació, mobilitat o simplificació de les operacions. A continuació, presentem un disseny basat en xarxes superposades i principis SDN que aborda els reptes que hem mencionat, a més d’una avaluació de dos desplegaments reals. Acabem amb una solució dissenyada per a les xarxes empresarials del futur, també basat en xarxes superposades i una aproximació per capes. Aquesta solució està dirigida a oferir mobilitat, connexió simultània (multi-homing), confidencialitat, identitat de l’usuari i l'aplicació, i polítiques de control d’accés per a dispositius connectats des de qualsevol xarxa, sigui des de l'oficina o des de fora.Las redes superpuestas u overlays son una técnica para construir una nueva red encima de una ya existente. Son una herramienta clave para añadir funcionalidad a redes existentes, y se usan en diferentes capas de la pila de protocolos de Internet para una gran variedad de propósitos, como confidencialidad, Calidad de Servicio, redes virtuales, etc. Específicamente, las redes superpuestas en la capa de red IP son ampliamente usadas para algunos de estos casos de uso. No obstante, este tipo de redes no disponen de tantas funcionalidades como redes superpuestas en otras capas. Por ejemplo, gracias al paradigma Zero Trust es posible construir redes superpuestas seguras en la capa 7 usando HTTPS. Teniendo esto en cuenta, esta tesis tiene como objetivo añadir nuevas funcionalidades y mejorar otras de las redes IP superpuestas, con el propósito de afrontar los nuevos retos que van apareciendo. Esta tesis se centra en tres ejes: seguridad, confianza y despliegue en escenarios empresariales. En primer lugar, y respecto a la seguridad, exploramos cómo simplificar la configuración de túneles seguros a través de Internet, sin usar una infraestructura de clave pública externa o soluciones propietarias. Para este objetivo, utilizamos WireGuard, un protocolo VPN de última generación, y le añadimos un plano de control para distribuir las claves de encriptado. Además, presentamos la implementación de un prototipo y una evaluación de rendimiento. En segundo lugar, en relación a la confianza, investigamos como las tecnologías emergentes basadas en cadena de bloques (blockchain) se pueden usar en sistemas de mapeado distribuidos. Los sistemas de mapeado son una base de datos que se utiliza en algunas redes superpuestas para ayudar en la creación de los túneles. Normalmente, estos sistemas guardan parejas de direcciones que traducen direcciones de la red superpuesta a la de la red subyacente. Los sistemas de mapeado no son muy utilizados en escenarios con múltiples dominios administrativos, debido a la complejidad de la configuración y a la centralización del control. En esta parte exploramos como algunas de las propiedades de las cadenas de bloques, como el control distribuido, o la auditabilidad, pueden ser de ayuda en la construcción de este tipo de sistemas de mapeado. Tomamos en consideración tanto los aspectos políticos, esto es, las ventajas de un esquema de confianza distribuido, como los técnicos, por ejemplo, una gestión más simple. También presentamos dos escenarios de despliegue: uno para aumentar la seguridad del enrutamiento basado en BGP entre diferentes dominios, y otro de un conjunto de empresas que cooperan para establecer conexiones entre ellas. Finalmente, nos centramos en el despliegue de redes empresariales usando redes superpuestas. En primer lugar, detallamos los retos que existen hoy en día en las redes empresariales, por ejemplo, segmentación, movilidad, o simplificación de las operaciones. A continuación, presentamos un diseño basado en redes superpuestas y principios SDN que aborda los retos que hemos mencionado, junto con la evaluación de dos despliegues reales. Concluimos con una solución diseñada para las redes empresariales del futuro, basada también en redes superpuestas y una aproximación por capas. Esta solución tiene como propósito ofrecer movilidad, conexión simultánea (multi-homing), confidencialidad, identificación de usuario y aplicación, y políticas de control de acceso para dispositivos conectados desde cualquier red, sea en la oficina o fuera.Postprint (published version

    Actualització de hardware i software pel robot salamandra

    No full text
    Projecte realitzat en el marc d’un programa de mobilitat amb la École Polytechnique Fédérale de Lausanne[ANGLES] The salamander robot is an amphibious robot developed at EPFL Biorobotics Lab. It is capable of swimming and walking, and its movements are very close to the ones of a real salamander. The robot is composed of nine independent modules connected together with a bus carrying power and communication signals. Each module has several motors, to perform the salamander-like movements, and a microcontroller that drives them and receives orders. One of the goals to improve the robot is a 3D vision system, which would give it the ability to “see”, using two cameras. The cameras obtain information from the environment and, using image processing techniques, the robot can react accordingly, for example, follow a path, avoid an obstacle or catch a prey. The project is developed at the Processor Architecture Laboratory due to their expertise with FPGAs, key for real-time image processing. The 3D vision system consists of four boards connected together and battery-powered. The first board has all the voltage regulators that power the different parts of the system and a battery management circuit. The second board has an FPGA and a DDR2 memory for the image processing and global system control, apart from the configuration circuit for the FPGA. The third board includes several transceivers for different interfaces: a CAN bus to communicate with the other robot modules, a wireless transceiver to program the FPGA remotely, and an A/D converter to process data from external sensors (if needed), among others. The fourth board has two black-and-white cameras. The size of all the boards when stacked together, including the battery, fits perfectly in one of the plastic modules that compose the robot. The goal of the present project was to make the 3D vision system to work. Due to previous and not identified problems at the beginning of this project, the power board needed to be redesigned. Thus the specific goal of this project was to design and construct a new and improved power board with higher reliability. To this end, previous designs were investigated and a power budget was created with information from all the components on the boards. It was decided to keep some parts unchanged and replace others for new ones. All the voltage regulators were simulated to be sure they would work properly. Capacitors and inductors were selected carefully to improve the reliability of the design. Among with other improvements, a small control circuit was added. The PCB layout was designed to handle high currents and reduce the noise produced by switching regulators. After soldering the components, the power board was tested consciously to make sure that the regulators could supply the expected current with no troubles. Even currents above the estimated consumption were tested with external loads. When the board was finished, it was connected to the other three boards and checked that the supply voltages were stable and operating successfully. Then, it was checked that the FPGA configuration could be downloaded correctly and that a softcore processor worked suitably. Finally, the DDR2 memory was tested. In conclusion, the hardware is finished and works properly. The system is ready to be used and to programme the FPGA with the interfaces for all the modules of the system and test whether they operate well, especially the DDR2 memory.[CASTELLÀ] El robot salamandra es un robot anfibio desarrollado en el Laboratorio de Biorobótica de la EPFL. Es capaz de nadar y caminar, y sus movimientos son muy parecidos a los de una salamandra real. El robot está constituido por nueve módulos independientes conectados entre ellos por medio de un bus de alimentación y comunicaciones. Cada módulo contiene varios motores (para poder realizar los movimientos parecidos a los de una salamandra) y un microcontrolador que los gestiona y recibe instrucciones. Uno de los aspectos a mejorar del robot consiste en un sistema de visión en tres dimensiones, que le permitiría “ver”, usando dos cámaras. Las cámaras obtienen información del entorno y, usando técnicas de procesado de imagen, el robot puede reaccionar según sea conveniente, por ejemplo, seguir un camino, evitar un obstáculo o cazar una presa. El proyecto se lleva a cabo en el Laboratorio de Arquitectura de Procesadores debido a su conocimiento de las FPGAs, clave para poder efectuar un procesado de imagen a tiempo real. El sistema de visión 3D consiste en cuatro placas conectadas entre ellas y alimentadas con una batería. La primera placa tiene todos los reguladores de tensión que alimentan las diferentes partes del sistema y un circuito de control de la batería. La segunda placa tiene una FPGA y una memoria DDR2 para el procesado de imagen y control global del sistema, aparte del circuito de configuración de la FPGA. La tercera placa incluye varios transceptores para diferentes interfaces: para el bus CAN para comunicarse con los otros módulos del robot, un transceptor inalámbrico para programar la FPGA a distancia y un conversor A/D para procesar datos de sensores externos (si es necesario), entre otros. La cuarta placa tiene dos cámaras en blanco y negro. El tamaño de todas las placas cuando están conectadas entre ellas, incluyendo la batería, cabe perfectamente en uno de los módulos de plástico que conforman el robot. El objetivo del presente proyecto fue conseguir que el sistema de visión 3D funcionase. Debido a problemas anteriores al inicio del proyecto, la placa de alimentación no funcionaba. Por lo tanto, el objetivo concreto del proyecto fue diseñar una nueva placa mejorada y con mayor fiabilidad. Para la placa de alimentación, se analizaron los diseños anteriores y se realizó una estimación del consumo de cada parte del circuito en base a la información de los componentes de cada placa. Se decidió mantener algunas partes y cambiar otras. Todos los reguladores de tensión fueron simulados para asegurarse que funcionarían una vez montados. Los condensadores e inductores se seleccionaron cuidadosamente para mejorar la fiabilidad del diseño. Asimismo, entre otras mejoras, se añadió un pequeño circuito de control. El diseño del circuito impreso se realizó teniendo en cuenta que tenía que soportar corrientes elevadas y también minimizar el ruido producido por los reguladores conmutados. Después de soldar los componentes, se probó la placa de alimentación rigurosamente para asegurar que podía suministrar la corriente esperada sin problemas, incluso se probaron corrientes por encima del consumo esperado mediante cargas externas. Cuando se hubo acabado la placa se alimentación, se conectó a las otras tres placas y se verificó que las salidas de los reguladores de tensión eran estables y funcionaban correctamente. Después, se comprobó que la configuración de la FPGA se podía descargar correctamente y que un procesador softcore operaba como era esperado. Finalmente, se probó la memoria DDR2. En conclusión, el hardware descrito anteriormente funciona correctamente. El sistema está preparado para ser usado y para programar la FPGA con las interfaces para todos los módulos del sistema y probar si funcionan bien, especialmente la memoria DDR2.[CATALÀ] El robot salamandra és un robot amfibi desenvolupat al Laboratori de Biorobòtica de l'EPFL. És capaç de nedar i caminar, i els seus moviments són molt semblants als d'una salamandra real. El robot està format per nou mòduls independents connectats entre ells gràcies a un bus d'alimentació i comunicacions. Cada mòdul té diversos motors, per a realitzar els moviments similars als d'una salamandra, i un microcontrolador que els gestiona i rep instruccions. Un dels aspectes per millorar el robot consisteix en un sistema de visió en tres dimensions, que li donarà la capacitat de “veure-hi”, usant dues càmeres. Les càmeres obtenen informació de l'entorn i, fent servir tècniques de processament d'imatge, el robot pot reaccionar segons les necessitats, per exemple, seguir un camí, evitar un obstacle o caçar una presa. El projecte es porta a terme al Laboratori d'Arquitectura de Processadors gràcies al seu coneixement de les FPGAs, clau per a poder realitzar un processament d'imatge a temps real. El sistema de visió 3D consisteix en quatre plaques connectades entre elles i alimentades amb una bateria. La primera placa té tots els reguladors de tensió que alimenten les diferents parts del sistema i un circuit de control de la bateria. La segona placa té una FPGA i una memòria DDR2 per al processat d'imatge i control general del sistema, a més del circuit de configuració de la FPGA. La tercera placa inclou diversos transceptors per a diferents interfícies: pel bus CAN per a comunicar-se amb els altres mòduls del robot, un transceptor sense fils per a programar la FPGA remotament i un convertidor A/D per processar dades de sensors externs (si és necessari), entre altres. La quarta placa té dues càmeres en blanc i negre. La mida de totes les plaques quan estan connectades entre elles, incloent la bateria, cap perfectament en un dels mòduls de plàstic que conformen robot. L'objectiu del present projecte ha estat fer funcionar el sistema de visió en 3D. Degut a problemes anteriors a l'inici d'aquest projecte, la placa d'alimentació no funcionava. Per tant, l'objectiu concret del projecte va ser dissenyar una nova placa millorada i amb major fiabilitat. Per a la placa d'alimentació, es van analitzar dissenys anteriors i es va realitzar una estimació del consum de cada part del circuit en base a la informació dels components de cada placa. Es va decidir mantenir algunes parts i canviar-ne d'altres. Tots els reguladors de tensió es van simular per assegurar-se que funcionarien. Els condensadors i inductors es van seleccionar amb deteniment per millorar la fiabilitat del disseny. Així mateix, entre altres millores, s'hi va afegir un petit circuit de control. El disseny del circuit imprès es va realitzar tenint en compte que havia de suportar corrents elevats i també per minimitzar el soroll produït pels reguladors commutats. Després de soldar els components, es va provar la placa d'alimentació rigorosament per a estar segurs que podia subministrar el corrent esperat sense problemes, fins i tot es van provar corrents per sobre del consum esperat mitjançant càrregues externes. Quan es va haver acabat la placa d'alimentació, es va connectar a les altres tres plaques i es va verificar que les tensions d'alimentació eren estables i funcionaven correctament. Després, es va comprovar que la configuració de la FPGA es podia descarregar correctament i que un processador softcore operava adequadament. Finalment, es va provar la memòria DDR2. En conclusió, el hardware descrit anteriorment funciona correctament. El sistema està preparat per a ésser usat i per programar la FPGA amb les interfícies per a tots els mòduls del sistema i provar si funcionen bé, especialment la memòria DDR2

    Seguretat a les xarxes Wi-fi, estudi d'una àrea geogràfica concreta: Figueres

    No full text
    Treball de recerca realitzat per un alumne d’ensenyament secundari i guardonat amb un Premi CIRIT per fomentar l'esperit científic del Jovent l’any 2008. L’objectiu d’aquest treball és determinar el nivell de seguretat de les xarxes sense fils de la ciutat de Figueres, realitzant una estadística de totes elles

    Actualització de hardware i software pel robot salamandra

    No full text
    Projecte realitzat en el marc d’un programa de mobilitat amb la École Polytechnique Fédérale de Lausanne[ANGLES] The salamander robot is an amphibious robot developed at EPFL Biorobotics Lab. It is capable of swimming and walking, and its movements are very close to the ones of a real salamander. The robot is composed of nine independent modules connected together with a bus carrying power and communication signals. Each module has several motors, to perform the salamander-like movements, and a microcontroller that drives them and receives orders. One of the goals to improve the robot is a 3D vision system, which would give it the ability to “see”, using two cameras. The cameras obtain information from the environment and, using image processing techniques, the robot can react accordingly, for example, follow a path, avoid an obstacle or catch a prey. The project is developed at the Processor Architecture Laboratory due to their expertise with FPGAs, key for real-time image processing. The 3D vision system consists of four boards connected together and battery-powered. The first board has all the voltage regulators that power the different parts of the system and a battery management circuit. The second board has an FPGA and a DDR2 memory for the image processing and global system control, apart from the configuration circuit for the FPGA. The third board includes several transceivers for different interfaces: a CAN bus to communicate with the other robot modules, a wireless transceiver to program the FPGA remotely, and an A/D converter to process data from external sensors (if needed), among others. The fourth board has two black-and-white cameras. The size of all the boards when stacked together, including the battery, fits perfectly in one of the plastic modules that compose the robot. The goal of the present project was to make the 3D vision system to work. Due to previous and not identified problems at the beginning of this project, the power board needed to be redesigned. Thus the specific goal of this project was to design and construct a new and improved power board with higher reliability. To this end, previous designs were investigated and a power budget was created with information from all the components on the boards. It was decided to keep some parts unchanged and replace others for new ones. All the voltage regulators were simulated to be sure they would work properly. Capacitors and inductors were selected carefully to improve the reliability of the design. Among with other improvements, a small control circuit was added. The PCB layout was designed to handle high currents and reduce the noise produced by switching regulators. After soldering the components, the power board was tested consciously to make sure that the regulators could supply the expected current with no troubles. Even currents above the estimated consumption were tested with external loads. When the board was finished, it was connected to the other three boards and checked that the supply voltages were stable and operating successfully. Then, it was checked that the FPGA configuration could be downloaded correctly and that a softcore processor worked suitably. Finally, the DDR2 memory was tested. In conclusion, the hardware is finished and works properly. The system is ready to be used and to programme the FPGA with the interfaces for all the modules of the system and test whether they operate well, especially the DDR2 memory.[CASTELLÀ] El robot salamandra es un robot anfibio desarrollado en el Laboratorio de Biorobótica de la EPFL. Es capaz de nadar y caminar, y sus movimientos son muy parecidos a los de una salamandra real. El robot está constituido por nueve módulos independientes conectados entre ellos por medio de un bus de alimentación y comunicaciones. Cada módulo contiene varios motores (para poder realizar los movimientos parecidos a los de una salamandra) y un microcontrolador que los gestiona y recibe instrucciones. Uno de los aspectos a mejorar del robot consiste en un sistema de visión en tres dimensiones, que le permitiría “ver”, usando dos cámaras. Las cámaras obtienen información del entorno y, usando técnicas de procesado de imagen, el robot puede reaccionar según sea conveniente, por ejemplo, seguir un camino, evitar un obstáculo o cazar una presa. El proyecto se lleva a cabo en el Laboratorio de Arquitectura de Procesadores debido a su conocimiento de las FPGAs, clave para poder efectuar un procesado de imagen a tiempo real. El sistema de visión 3D consiste en cuatro placas conectadas entre ellas y alimentadas con una batería. La primera placa tiene todos los reguladores de tensión que alimentan las diferentes partes del sistema y un circuito de control de la batería. La segunda placa tiene una FPGA y una memoria DDR2 para el procesado de imagen y control global del sistema, aparte del circuito de configuración de la FPGA. La tercera placa incluye varios transceptores para diferentes interfaces: para el bus CAN para comunicarse con los otros módulos del robot, un transceptor inalámbrico para programar la FPGA a distancia y un conversor A/D para procesar datos de sensores externos (si es necesario), entre otros. La cuarta placa tiene dos cámaras en blanco y negro. El tamaño de todas las placas cuando están conectadas entre ellas, incluyendo la batería, cabe perfectamente en uno de los módulos de plástico que conforman el robot. El objetivo del presente proyecto fue conseguir que el sistema de visión 3D funcionase. Debido a problemas anteriores al inicio del proyecto, la placa de alimentación no funcionaba. Por lo tanto, el objetivo concreto del proyecto fue diseñar una nueva placa mejorada y con mayor fiabilidad. Para la placa de alimentación, se analizaron los diseños anteriores y se realizó una estimación del consumo de cada parte del circuito en base a la información de los componentes de cada placa. Se decidió mantener algunas partes y cambiar otras. Todos los reguladores de tensión fueron simulados para asegurarse que funcionarían una vez montados. Los condensadores e inductores se seleccionaron cuidadosamente para mejorar la fiabilidad del diseño. Asimismo, entre otras mejoras, se añadió un pequeño circuito de control. El diseño del circuito impreso se realizó teniendo en cuenta que tenía que soportar corrientes elevadas y también minimizar el ruido producido por los reguladores conmutados. Después de soldar los componentes, se probó la placa de alimentación rigurosamente para asegurar que podía suministrar la corriente esperada sin problemas, incluso se probaron corrientes por encima del consumo esperado mediante cargas externas. Cuando se hubo acabado la placa se alimentación, se conectó a las otras tres placas y se verificó que las salidas de los reguladores de tensión eran estables y funcionaban correctamente. Después, se comprobó que la configuración de la FPGA se podía descargar correctamente y que un procesador softcore operaba como era esperado. Finalmente, se probó la memoria DDR2. En conclusión, el hardware descrito anteriormente funciona correctamente. El sistema está preparado para ser usado y para programar la FPGA con las interfaces para todos los módulos del sistema y probar si funcionan bien, especialmente la memoria DDR2.[CATALÀ] El robot salamandra és un robot amfibi desenvolupat al Laboratori de Biorobòtica de l'EPFL. És capaç de nedar i caminar, i els seus moviments són molt semblants als d'una salamandra real. El robot està format per nou mòduls independents connectats entre ells gràcies a un bus d'alimentació i comunicacions. Cada mòdul té diversos motors, per a realitzar els moviments similars als d'una salamandra, i un microcontrolador que els gestiona i rep instruccions. Un dels aspectes per millorar el robot consisteix en un sistema de visió en tres dimensions, que li donarà la capacitat de “veure-hi”, usant dues càmeres. Les càmeres obtenen informació de l'entorn i, fent servir tècniques de processament d'imatge, el robot pot reaccionar segons les necessitats, per exemple, seguir un camí, evitar un obstacle o caçar una presa. El projecte es porta a terme al Laboratori d'Arquitectura de Processadors gràcies al seu coneixement de les FPGAs, clau per a poder realitzar un processament d'imatge a temps real. El sistema de visió 3D consisteix en quatre plaques connectades entre elles i alimentades amb una bateria. La primera placa té tots els reguladors de tensió que alimenten les diferents parts del sistema i un circuit de control de la bateria. La segona placa té una FPGA i una memòria DDR2 per al processat d'imatge i control general del sistema, a més del circuit de configuració de la FPGA. La tercera placa inclou diversos transceptors per a diferents interfícies: pel bus CAN per a comunicar-se amb els altres mòduls del robot, un transceptor sense fils per a programar la FPGA remotament i un convertidor A/D per processar dades de sensors externs (si és necessari), entre altres. La quarta placa té dues càmeres en blanc i negre. La mida de totes les plaques quan estan connectades entre elles, incloent la bateria, cap perfectament en un dels mòduls de plàstic que conformen robot. L'objectiu del present projecte ha estat fer funcionar el sistema de visió en 3D. Degut a problemes anteriors a l'inici d'aquest projecte, la placa d'alimentació no funcionava. Per tant, l'objectiu concret del projecte va ser dissenyar una nova placa millorada i amb major fiabilitat. Per a la placa d'alimentació, es van analitzar dissenys anteriors i es va realitzar una estimació del consum de cada part del circuit en base a la informació dels components de cada placa. Es va decidir mantenir algunes parts i canviar-ne d'altres. Tots els reguladors de tensió es van simular per assegurar-se que funcionarien. Els condensadors i inductors es van seleccionar amb deteniment per millorar la fiabilitat del disseny. Així mateix, entre altres millores, s'hi va afegir un petit circuit de control. El disseny del circuit imprès es va realitzar tenint en compte que havia de suportar corrents elevats i també per minimitzar el soroll produït pels reguladors commutats. Després de soldar els components, es va provar la placa d'alimentació rigorosament per a estar segurs que podia subministrar el corrent esperat sense problemes, fins i tot es van provar corrents per sobre del consum esperat mitjançant càrregues externes. Quan es va haver acabat la placa d'alimentació, es va connectar a les altres tres plaques i es va verificar que les tensions d'alimentació eren estables i funcionaven correctament. Després, es va comprovar que la configuració de la FPGA es podia descarregar correctament i que un processador softcore operava adequadament. Finalment, es va provar la memòria DDR2. En conclusió, el hardware descrit anteriorment funciona correctament. El sistema està preparat per a ésser usat i per programar la FPGA amb les interfícies per a tots els mòduls del sistema i provar si funcionen bé, especialment la memòria DDR2
    corecore